package SessionBeans;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import DtoFactory.FactoryDTO;
import Entities.CotizacionBean;
import Entities.ItemCotizacionBean;
import Entities.RodamientoBean;
import EntitiesDTO.CotizacionDTO;

public @Stateless
class AdminCotizacionBean implements AdminCotizacion {

	@PersistenceContext
	private EntityManager em;
	private FactoryDTO dtofactory;

	public AdminCotizacionBean() {
		dtofactory = FactoryDTO.getInstance();

	}

	@Override
	public void saveCotizacion(CotizacionDTO cot) {
		CotizacionBean coti = dtofactory.inflacteCotizacion(cot);
		for (ItemCotizacionBean item : coti.getItemsCotizacion()) {
			RodamientoBean rodam = (RodamientoBean) em.createQuery(
					"select r from RodamientoBean r where r.codigo=?1")
					.setParameter(1, item.getRodamiento().getCodigo())
					.getSingleResult();
			item.setRodamiento(rodam);
		}
		em.persist(coti);
		for (ItemCotizacionBean item : coti.getItemsCotizacion()) {
			item.setCotizacion(coti);
		}
		em.merge(coti);
	}


}
